Torque error detection and torque estimation system

ABSTRACT

A vehicle may include a powertrain having an engine and a generator coupled to a driveshaft, an inverter configured to provide phase currents to the generator, and a controller programmed to output a fault condition based on first and second generator torques, the first generator torque being based on an engine torque and the second generator torque being based on no more than two phase currents of the generator.

TECHNICAL FIELD

Described herein is an torque error detection and estimation system.

BACKGROUND

Hybrid Electric Vehicles (HEVs) often use a power split architecture to combine combustion torque created by the engine and the electric torque generated by two electric machines to drive the vehicle. The electrical machines may include a generator and a motor. Current sensors at the inverters of each electrical machine may measure phase currents for both the motor inverter and the generator inverter. These phase currents may be used to determine whether a torque error has occurred within the system.

SUMMARY

A vehicle may include a powertrain having an engine and a generator coupled to a driveshaft, an inverter configured to provide phase currents to the generator, and a controller programmed to output a fault condition based on first and second generator torques, the first generator torque being based on an engine torque and the second generator torque being based on no more than two phase currents of the generator.

A torque error detection system may include a controller including input communication channels configured to receive an engine torque and no more than two phase currents of a generator, output communication channels configured to output a fault condition, and control logic configured to generate the fault condition in response to a difference between first and second generator torques exceeding a threshold, wherein the first generator torque is based on the engine torque and the second generator torque is based on the two phase current.

A method for detecting generator torque error may include outputting a fault condition in response to a difference between first and second generator torques exceeding a threshold, wherein the first torque is based on a steady state engine torque, an engine acceleration, and a generator acceleration, and wherein the second torque is based on generator phase currents.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is an exemplary drive train for a power split system of a vehicle;

FIG. 2 is an exemplary process for determining whether a generator torque fault exists;

FIG. 3 is an exemplary process for estimating a first generator torque;

FIG. 4 is an exemplary process for estimating a second generator torque; and

FIG. 5 is an exemplary block diagram for determining whether a generator torque fault exists.

DETAILED DESCRIPTION

As required, detailed embodiments of the present invention are disclosed herein; however, it is to be understood that the disclosed embodiments are merely exemplary of the invention that may be embodied in various and alternative forms. The figures are not necessarily to scale; some features may be exaggerated or minimized to show details of particular components. Therefore, specific structural and functional details disclosed herein are not to be interpreted as limiting, but merely as a representative basis for teaching one skilled in the art to variously employ the present invention.

Hybrid Electrical Vehicles (HEVs) often use a power split drive train architecture to combine a combustion torque generated by the engine and an electric torque generated by two electric machines (e.g., a generator and motor). The generator and motor may be permanent-magnet AC motors with three-phase current input. Inverters are used to power the motor and the generator to deliver the desired torque. Current sensors are often used for controlling and monitoring the torque. Current methods may require three current sensors to be used in order to perform a checksum of the phase currents detected by the sensors. If a problem exists with the torque or sensors, the sum of the currents will not be zero or near zero. This method, however, requires three phase current values, thus requiring three current sensors. This method also only detects current sensor fault without directly detecting a generator torque error.

Disclosed herein is a system for estimating a generator torque by using two of the phase currents of the generator. Another estimated generator torque may be determined using the torque of the engine. These estimated generator torques may then be compared to establish a torque error. If this torque error exceeds a predetermined error value, then a generator torque fault may be established. The disclosed system only requires two current sensors at the generator. The need for an additional third sensor is unnecessary, thus eliminating a component thereby reducing cost, weight, space and increasing reliability. Further, the disclosed system detects errors relating to generator torque without using phase current imbalance. The generator torque fault may be due to failures of the current sensors as well as other generator torque conditions that may cause torque errors. The system may reduce the probability that a generator current sensor will fail by up to 33%. Since three current sensors are required for the present design, and each current sensor has a chance to fail or one out of three chance of failure, eliminating one current sensor represents a ⅓ less chance of failure or approximately 33%.

FIG. 1 is an exemplary drive train for a power split system 100 of a vehicle (not shown) for combining the combustion torque generated by an engine 105 and the electrical torque generated by a motor 110 and generator 115. The motor 110 and the generator 115 may be electric machines being permanent-magnetic AC motors with three-phase current inputs. The engine 105 and the generator 115 may be connected by a planetary gear set 120. The gear set 120 may include a ring gear 130, a carrier 133 and a sun gear 135. The gear set 120 may provide various gear ratios such as a motor-to-ring gear ratio k_(m2r), a ring-to-carrier ratio k_(r2c), and a sun-to-carrier gear ratio k_(s2c). The generator 115 may be connected directly to the sun gear 135. The rings 130 may be connected to a countershaft 150, which may drive the vehicle directly by a fixed ratio. A motor gear 153 on a motor shaft 155 may be meshed with a fixed ratio. The motor 110 may be connected to a drive shaft 165 on the vehicle. The drive shaft 165 may transmit torque from the motor 110 and or engine 105 to the wheels of the vehicle.

The system 100 may include a Motor Generator Control Unit (MGCU) controller 170 in communication with a generator inverter 175 and a motor inverter 180. The controller 170 may include input communication channels and output communication channels and may control the inverters 175, 180 to drive the motor 110 and/or generator 115 at desired torques. The inverters 175, 180 may be interfaced directly to a high-voltage battery of the vehicle or through a variable voltage converter (VVC) 185. The controller 170 may be a computer configured to perform the processes disclosed herein via control logic. It may be coupled to a memory (not shown). The controller 170, and/or memory thereof, may produce and maintain motor and generator values. The engine may also have a separate controller (not shown) that produces engine values. These values may be specific to the motor 110, generator 115 and engine 105. The values may be constant coefficients as well as real-time or near real-time variables. The values may be received from sensors within the system 100. The values may also be received from external sources. Some values may be derived values based on other received or saved values. For example, an engine acceleration a_(e) may be calculated based on a motor acceleration a_(m) and a generator acceleration a_(g).

The controller 170 uses two phase currents I_(a), I_(b) received from the sensors 195 to control each the motor 110 and generator 115 and to deliver the desired torque via the inverters 175, 180. The phase currents may be delivered in the form of a line 190, as shown in FIG. 1. The line may be a wire capable of transmitting current. A wye configuration may be used. At least two of the lines 190 connected to the generator inverter 175 may include at least one phase current sensor 195. Each of the three of the lines 190 connected to the motor inverter 180 may include at least one phase current sensor 195. The phase current may be detected on at least two of the lines (e.g., phase currents I_(a) I_(b).) Traditionally a third current sensor 195 may be arranged on the third line 190. This third sensor 195 would not drive the torque, but would be used in performing a checksum of the three phase currents for current sensor failure detection. In the current implementation described herein, only two sensors are required for estimating the generator torque and detecting a failure. The current sensors may be any standard sensor for AC electric machine field control.

Each of the sensors 195 may provide a phase current value back to the controller 170. The phase current value may indicate the phase current on the respective line 190. The controller 170 may catalog each of the received phase currents (e.g., phase currents I_(a), I_(b).) The phase current values may be derived from a phase current reading at the sensors 195. For example, a first phase current I_(a), and a second phase current I_(b), may be transmitted from the current sensor to the controller 170. The phase currents I_(a), I_(b) may represent the machine electrical currents and may be used to calculate a third phase current. The three phase currents are each 120 degrees apart such that I_(a)+I_(b)+I_(c)=0. Thus, if two phase currents are known or sensed by the sensors 195, a third may be calculated. Field Orientated Control is a standard control method used to control three phase machines. Using Field Orientated Control, the three phase currents may be used to calculate two equivalent phase currents to derive equations representative of the machine electrical circuits. The two phase currents may be a direct axis current (field current) and a quadrature axis current (torque current). These currents allow the three phase machine to be controlled in a similar manner to a DC machine.

The following transformation may be used:

$\begin{matrix} {I_{d} = {\frac{2}{3}\left( {{I_{a}{\sin ({wt})}} + {I_{b}{\sin \left( {{wt} - \frac{2\pi}{3}} \right)}} + {I_{c}{\sin \left( {{wt} + \frac{2\pi}{3}} \right)}}} \right)}} & {{Eq}.\mspace{14mu} 1} \\ {I_{q} = {\frac{2}{3}\left( {{I_{a}{\cos ({wt})}} + {I_{b}{\cos \left( {{wt} - \frac{2\pi}{3}} \right)}} + {I_{c}{\cos \left( {{wt} + \frac{2\pi}{3}} \right)}}} \right)}} & {{Eq}.\mspace{14mu} 2} \\ {I_{o} = {\frac{1}{3}\left( {I_{a} + I_{b} + I_{c}} \right)}} & {{Eq}.\mspace{14mu} 3} \end{matrix}$

where ω=rotation speed (in rad/s) of the rotating frame. In the case of a synchronous machine, the stator quantities are referred to the rotor. I_(d) and I_(q) represent the two DC currents flowing in the two equivalent rotor windings (d winding directly on the same axis as the field winding, and q winding on the quadratic axis), producing the same flux as the stator I_(a), I_(b), and I_(c) currents.

FIG. 2 is an exemplary process 200 for determining whether a generator torque fault exists. The process begins at block 205 where a first estimated torque T_(G1) is determined. The first estimated torque T_(G1) may be determined based on a plurality of engine, motor and generator values. These values may be pre-established constants specific to the device. The values may also be real-time variables detected by various sensors throughout the system 100. One of the values used to calculate the first estimated torque may be an engine torque T_(e). The calculation of the first estimated torque T_(G1) is described in more detail below with respect to FIG. 3.

At block 210, a second estimated torque T_(G2) is determined. The second estimated torque T_(G2) may also be determined based on the plurality of values. The second estimated torque T_(G2) may be calculated, in part, based on the direct and quadrature currents (e.g., I_(d) and I_(q)) acquired from the MGCU controller 170.

At block 215, the first estimated torque T_(G1) and the second estimated torque T_(G2) may be compared to one another to generate a comparison value T_(g) _(—) _(err). The torques T_(G1), T_(G2) may be compared by taking the difference between the two. The torques T_(G1), T_(G2) may also be compared by taking a ratio of one torque to another.

At block 220, the controller 170 may determine whether a generator torque fault exists by comparing the resultant comparison value (or torque error) T_(g) _(—) _(err) (either the difference or the ratio) with a predefined threshold. The predefined threshold may be a predetermined value configured to benchmark when a torque error may occur. In one example, a predefined threshold may be approximately 30 Nm. An unintended vehicle acceleration of 0.1 g in neutral may have a generator torque of 38 Nm, thus exceeding the predefined threshold and indicating that a torque error may have occurred.

If the resultant error value T_(g) _(—) _(err) is above the predefined threshold for a predefined period of time, a generator torque fault may exist and the process 200 proceeds to block 225. If not, the process 200 ends. At block 225 an alert may be issued to on board diagnostics (OBD) indicating that a torque failure may have occurred and that service may be necessary. In addition, a limited operating action may occur such as disabling the generator actuator.

FIG. 3 is an exemplary process 300 for calculating the first estimated torque T_(G1) based on an engine torque T_(e) (also referred to as steady state engine torque). The relationship between the engine torque T_(e), and the generator torque T_(g) may be expressed as follows:

$\begin{matrix} {{T_{e} - {J_{e}\frac{w_{e}}{t}}} = {\left( {{- T_{g}} + {J_{g}\frac{w_{g}}{t}}} \right){1/k_{s\; 2c}}}} & {{Eq}.\mspace{14mu} 4} \end{matrix}$

where Je is the engine effective inertia, w_(g) is the generator speed, w_(e) is the engine speed, J_(g) is the generator effective inertia and k_(s2c) is the sun-to-carrier gear ratio.

At block 305, the controller 170 may receive a plurality of engine, generator and motor values. These values may include the engine torque T_(e), engine effective inertia J_(e), the generator speed w_(g), the engine speed w_(e), the generator effective inertia J_(g) and the sun-to-carrier gear ratio k_(s2c). The engine torque T_(e) may be received from an electronic control unit (ECU) within the vehicle. This value may be an estimated value based on the current state of the engine 105. The engine torque estimation T_(e) is based on spark angle, fuel injection, air flow. The controller 170 may also receive other values such as a motor acceleration a_(m) and the generator acceleration a_(g). These acceleration values may be read from a sensor within the motor 110 and generator 115 such as an accelerometer. The acceleration values may also be calculated based on the change of velocity over time of the motor 110 and generator 115.

At block 310, the controller 170 may determine or calculate a steady state generator torque T_(g) _(—) _(ss) from the steady state engine torque estimated in the ECU. The steady state generator torque T_(g) _(—) _(ss) may be calculated from the engine torque T_(e), where T_(g) _(—) _(ss)=−k_(s2c)T_(e), where k_(s2c) is a constant gear ratio of sun to carrier gear.

At block 315, the steady state generator torque T_(g) _(—) _(ss) may be filtered to obtain a filtered steady state generator torque T_(g) _(—) _(ss) _(—) _(f). For example a rolling average filter may be used.

At block 320, the motor acceleration a_(m) and the generator acceleration a_(g) are each filtered to obtain filtered accelerations a_(m) _(—) _(f) and a_(g) _(—) _(f). For example a rolling average filter may be used.

At block 325, the filtered acceleration values are used to determine or calculate an engine acceleration a_(e).

$\begin{matrix} {a_{e} = {{\frac{w_{g}}{t}k_{s\; 2c}} + {\frac{w_{m}}{t}k_{m\; 2r}k_{r\; 2c}}}} & {{Eq}.\mspace{14mu} 5} \end{matrix}$

where k_(m2r) is the motor-to-ring gear ratio and k_(r2c) is the ring-to-carrier ratio.

At block 330, the controller 170 calculates an engine inertial torque T_(e) _(—) _(i) using the filtered motor acceleration a_(m) _(—) _(f) and filtered generator acceleration a_(g) _(—) _(f), where:

T _(e) _(—) _(i) =J _(e) [a _(g) _(—) _(f) ·k _(s2c) +a _(m) _(—) _(f) ·k _(m2r) ·k _(r2c)]  Eq. 6

At block 335, the controller 170 calculates a generator inertial torque T_(g) _(—) _(i) using the filtered generator acceleration a_(g) _(—) _(f), where:

T _(g) _(—) _(i) =J _(g)(a _(g) _(—) _(f))  Eq. 7

At block 340, the controller 170 adds the filtered steady state generator torque T_(g) _(—) _(ss) _(—) _(f), the engine inertial torque T_(e) _(—) _(i) and the generator inertial torque T_(g) _(—) _(i) to determine the first estimated generator torque T_(G1). Using equations 4 and 5, the first estimated generator torque T_(G1) may be expressed as:

T _(g) =T _(G1) =−k _(s2c) T _(e) +k _(s2c) J _(e)(a _(g) _(—) _(f) ·k _(s2c) +a _(m) _(—) _(f) ·k _(m2r) ·k _(r2c))+J _(g) ·a _(g) _(—) _(f)  Eq. 8

The process may then end.

FIG. 4 is an exemplary process 400 for calculating the second estimated torque based on two phase currents I_(a) & I_(b).

At block 405, the controller 170 may receive a plurality of engine and generator values. As explained above, these values may include both constant and real-time values relating to each the generator 115 and the engine 105. The values may include two phase currents I_(a) and I_(b) that are converted into torque current I_(q) and field current I_(d) using a motor control method such as Field Oriented Control, a number of poles p, a magnet flux linkage λ and a drag torque of the generator T_(drag). In one example, the drag is the load of the engine. The flux may be part of what makes up the field current I_(d).

At block 415, the controller 170 may calculate the second estimated generator torque T_(G2). The estimated generator torque T_(G2) may be expressed in terms of I_(d) and I_(q) and calculated via the machine circuit equations representing motor behavior as follows:

$\begin{matrix} {{\frac{}{t}\left( i_{d} \right)} = {{\left( \frac{1}{L_{d}} \right)\left( v_{d} \right)} - {\left( \frac{R}{L_{d}} \right)\left( i_{d} \right)} + {\left( \frac{L_{q}}{L_{d}} \right){pw}_{r}i_{q}}}} & {{Eq}.\mspace{14mu} 9} \\ {{\frac{}{t}\left( i_{q} \right)} = {{\left( \frac{1}{L_{q\;}} \right)\left( v_{q} \right)} - {\left( \frac{R}{L_{q}} \right)\left( i_{q} \right)} - {\left( \frac{L_{d}}{L_{q}} \right)\left( {{pw}_{r}i_{d}} \right)} - \frac{\lambda \; {pw}_{r}}{L_{q}}}} & {{Eq}.\mspace{14mu} 10} \end{matrix}$

The estimated generator torque T_(G2) may be expressed as:

$\begin{matrix} {T_{g\; \_ \; {tcb}} = {T_{G\; 2} = {{\frac{3}{2}{p\left( {{\lambda \; i_{q}} + {\left( {L_{d} - L_{q}} \right)i_{q}i_{d}}} \right)}} + T_{drag}}}} & {{Eq}.\mspace{14mu} 11} \end{matrix}$

where:

L_(q), L_(d) q and d axis inductances R resistance of the stator windings i_(q), i_(d) q and d axis currents v_(q), v_(d) q and d axis voltages ω_(r) angular velocity of the rotor λ amplitude of the flux induced by the permanent magnets of the rotor in the stator phases p number of pole pairs T_(g) _(—) _(tcb) electromagnetic estimated generator torque

The process may then end.

FIG. 5 is a block diagram for determining whether a generator torque fault exists. The process described with respect to FIG. 5 may be accomplished at the controller 170 via the processor and memory. Blocks 505-540 illustrate a process similar to that described in FIG. 3 for process 300. At block 505 the controller 170 may receive a plurality of engine, generator and motor values. One of these values may be the engine torque T_(e). The controller 170 may calculate the steady state generator torque T_(g) _(—) _(ss) from the engine torque T_(e). At block 510, the steady state generator torque T_(g) _(—) _(ss) may be filtered. At blocks 515 and 520, the motor acceleration a_(m) and the generator acceleration a_(g) are each filtered to obtain a_(m) _(—) _(f) and a_(g) _(—) _(f).

At block 530, the controller 170 calculates an engine inertial torque T_(e) _(—) _(i) using the engine acceleration. At block 535, the controller 170 calculates a generator inertial torque T_(g) _(—) _(i) using the filtered generator acceleration a_(g) _(—) _(f). At block 540 the controller 170 may add the filtered steady state generator torque T_(g) _(—) _(ss) _(—) _(f), the engine inertial torque T_(e) _(—) _(i) and the generator inertial torque T_(g) _(—) _(i) to determine the first estimated generator torque T_(G1).

At block 545, the first and second estimated torques T_(G1) and T_(G2) may be compared, similar to block 215 of FIG. 2. That is, the values of equations 8 and 11 are compared. At block 550, the resultant comparison value (or torque error) T_(g) _(—) _(err) may be filtered. At block 560, the controller 170 may determine whether a torque error exists in response to the filtered comparison value T_(g) _(—) _(err) _(—) _(f). This may be accomplished, as explained with respect to block 220 above, by comparing the filtered comparison value T_(g) _(—) _(err) _(—) _(f) with a predefined threshold. If the predefined threshold is exceeded, a torque error may be determined.

Accordingly, the disclosed system may use two phase currents and an engine torque to estimate a pair of generator torques. These torques may be compared and if the compared value exceeds a threshold, a torque error may be realized. By using only a pair of phase currents, the third sensor typically necessary to establish a torque error may be eliminated. Further, the disclosed systems and methods may directly detect generator torque error, instead of only phase current imbalance.

Computing devices such as the controllers described herein generally include computer-executable instructions, where the instructions may be executable by one or more computing devices such as those listed above. Computer-executable instructions may be compiled or interpreted from computer programs created using a variety of programming languages and/or technologies, including, without limitation, and either alone or in combination, Java™, C, C++, Visual Basic, Java Script, Perl, Matlab Simulink, TargetLink, etc. In general, a processor (e.g., a microprocessor) receives instructions, e.g., from a memory, a computer-readable medium, etc., and executes these instructions, thereby performing one or more processes, including one or more of the processes described herein. Such instructions and other data may be stored and transmitted using a variety of computer-readable media.

A computer-readable medium (also referred to as a processor-readable medium) includes any non-transitory (e.g., tangible) medium that participates in providing data (e.g., instructions) that may be read by a computer (e.g., by a processor of a computer). Such a medium may take many forms, including, but not limited to, non-volatile media and volatile media. Non-volatile media may include, for example, EEPROM (Electrically Erasable Programmable Read-Only Memory and is a type of non-volatile memory used in computers and other electronic devices to store small amounts of data that must be saved when power is removed, e.g., calibration tables or device configuration.) optical or magnetic disks and other persistent memory. Volatile media may include, for example, dynamic random access memory (DRAM), which typically constitutes a main memory. Such instructions may be transmitted by one or more transmission media, including coaxial cables, copper wire and fiber optics, including the wires that comprise a system bus coupled to a processor of a computer. Common forms of computer-readable media include, for example, a floppy disk, a flexible disk, hard disk, magnetic tape, any other magnetic medium, a CD-ROM, DVD, any other optical medium, punch cards, paper tape, any other physical medium with patterns of holes, a RAM, a PROM, an EPROM, a FLASH-EEPROM, any other memory chip or cartridge, or any other medium from which a computer can read.

Databases, data repositories or other data stores described herein may include various kinds of mechanisms for storing, accessing, and retrieving various kinds of data, including a hierarchical database, a set of files in a file system, an application database in a proprietary format, a relational database management system (RDBMS), etc. Each such data store is generally included within a computing device employing a computer operating system such as one of those mentioned above, and are accessed via a network in any one or more of a variety of manners. A file system may be accessible from a computer operating system, and may include files stored in various formats. An RDBMS generally employs the Structured Query Language (SQL) in addition to a language for creating, storing, editing, and executing stored procedures, such as the PL/SQL language mentioned above.

In some examples, system elements may be implemented as computer-readable instructions (e.g., software) on one or more computing devices (e.g., servers, personal computers, etc.), stored on computer readable media associated therewith (e.g., disks, memories, etc.). A computer program product may comprise such instructions stored on computer readable media for carrying out the functions described herein.

With regard to the processes, systems, methods, heuristics, etc., described herein, it should be understood that, although the steps of such processes, etc., have been described as occurring according to a certain ordered sequence, such processes could be practiced with the described steps performed in an order other than the order described herein. It further should be understood that certain steps could be performed simultaneously, that other steps could be added, or that certain steps described herein could be omitted. In other words, the descriptions of processes herein are provided for the purpose of illustrating certain embodiments, and should in no way be construed so as to limit the claims.

Accordingly, it is to be understood that the above description is intended to be illustrative and not restrictive. Many embodiments and applications other than the examples provided would be apparent upon reading the above description. The scope should be determined, not with reference to the above description, but should instead be determined with reference to the appended claims, along with the full scope of equivalents to which such claims are entitled. It is anticipated and intended that future developments will occur in the technologies discussed herein, and that the disclosed systems and methods will be incorporated into such future embodiments. In sum, it should be understood that the application is capable of modification and variation.

All terms used in the claims are intended to be given their broadest reasonable constructions and their ordinary meanings as understood by those knowledgeable in the technologies described herein unless an explicit indication to the contrary in made herein.

While exemplary embodiments are described above, it is not intended that these embodiments describe all possible forms of the invention. Rather, the words used in the specification are words of description rather than limitation, and it is understood that various changes may be made without departing from the spirit and scope of the invention. Additionally, the features of various implementing embodiments may be combined to form further embodiments of the invention. 

What is claimed is:
 1. A vehicle comprising: a powertrain including an engine and a generator coupled to a driveshaft; an inverter configured to provide phase currents to the generator; and a controller programmed to output a fault condition based on first and second generator torques, the first generator torque being based on an engine torque and the second generator torque being based on no more than two phase currents of the generator.
 2. The vehicle of claim 1, wherein the controller is further programmed to identify a fault condition in response to a difference between the first generator torque and the second generator torque exceeding an error threshold.
 3. The vehicle of claim 1, wherein the first generator torque is further based on a motor acceleration and a generator acceleration.
 4. The vehicle of claim 3, wherein the engine torque is estimated in an electronic controller unit.
 5. The vehicle of claim 1, wherein the second generator torque is further based on a generator magnetic flux and a generator drag torque.
 6. A torque error detection system comprising: a controller including input communication channels configured to receive an engine torque and no more than two phase currents of a generator, output communication channels configured to output a fault condition, and control logic configured to generate the fault condition in response to a difference between first and second generator torques exceeding a threshold, wherein the first generator torque is based on the engine torque and the second generator torque is based on the two phase current.
 7. The system of claim 6, wherein the first generator torque is further based on a motor acceleration and a generator acceleration.
 8. The system of claim 7, wherein the engine torque is estimated in an electronic controller unit.
 9. The system of claim 6, wherein the second generator torque is further based on a generator magnetic flux and a generator drag torque.
 10. A method for detecting generator torque error comprising: outputting a fault condition in response to a difference between first and second generator torques exceeding a threshold, wherein the first torque is based on a steady state engine torque, an engine acceleration, and a generator acceleration, and wherein the second torque is based on generator phase currents.
 11. The method of claim 10, wherein the second torque is based on no more than two generator phase currents.
 12. The method of claim 11, wherein the second torque is further based on a generator magnetic flux and a generator drag torque.
 13. The method of claim 10, further comprising estimating a steady state generator torque based on the steady state engine torque and a sun to carrier gear ratio of a planetary gear set.
 14. The method of claim 10, further comprising filtering the generator acceleration and the motor acceleration, wherein the engine acceleration is based on the filtered generator acceleration and a sun to carrier gear ratio of a planetary gear set plus the filtered motor acceleration and a motor to ring gear ratio and a ring to carrier gear ratio of the planetary gear set.
 15. The method of claim 14, wherein the first torque is further based on a generator inertial torque based on the filtered generator acceleration.
 16. The method of claim 15, wherein the first torque is further based on an engine inertial torque based on the engine acceleration. 